package com.link.base.base.appinfo.service;

import com.link.base.base.appinfo.model.AppManager;
import com.link.core.basic.service.BasicService;

import java.util.List;

/**
 * 移动应用管理
 *
 * @author ouyangzhenqiang
 * @date 2018/11/15
 */
public interface AppManagerService extends BasicService<AppManager> {
    /**
     * 应用发布
     *
     * @author ouyangzhenqiang
     * @date 2018/11/17
     * @param record
     * @throws Exception
     */
    void publishApp(AppManager record) throws Exception;

    /**
     * 应用发布设置redis信息
     *
     * @author ouyangzhenqiang
     * @date 2018/11/17
     * @param record
     * @throws Exception
     */
    void publishAppSetRedisInfo(AppManager record) throws Exception;

    /**
     * 应用下架
     *
     * @author ouyangzhenqiang
     * @date 2018/11/17
     * @param record
     * @throws Exception
     */

    void soldOutApp(AppManager record) throws Exception;

    /**
     * 获取应用列表，包括应用下最新版本记录信息
     *
     * @author ouyangzhenqiang
     * @date 2018/11/18
     * @param record
     * @return
     * @throws Exception
     */
    List<AppManager> getAppList(AppManager record) throws Exception;

    /**
     * 根据Id获取应用信息和最新版本信息
     *
     * @author ouyangzhenqiang
     * @date 2018/11/18
     * @param record
     * @return
     * @throws Exception
     */
    AppManager getAppById(AppManager record) throws Exception;

}
